package com.cyber.plus.util;

import com.cyber.plus.CyberMod;
import net.fabricmc.fabric.api.item.v1.FabricItemSettings;
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.util.Identifier;

/**
 * 物品工具
 *
 * @version 1.0
 * @author: 贺坤
 * @createTime: 2023年06月26日 23:06
 */
public class ItemUtil {
	/**
	 * 注册物品
	 *
	 * @param name       物品
	 * @param item
	 * @param itemGroups 物品分组
	 *
	 * @return
	 */
	public static Item registryItem(String name, Item item, ItemGroup... itemGroups) {
		// 获取标识符
		Identifier identifier = new Identifier(CyberMod.MOD_ID, name);
		// 将物品 注册到目录下的注册表
		Item registryItem = Registry.register(Registries.ITEM, identifier, item);
		// 循环注册到注册表
		for (ItemGroup itemGroup : itemGroups) {
			ItemGroupEvents.modifyEntriesEvent(itemGroup).register(entries -> entries.add(registryItem));
		}
		return registryItem;
	}

	/**
	 * 注册一个物品
	 * @param name
	 * @param itemGroups
	 * @return
	 */
	public static Item registryItem(String name, ItemGroup... itemGroups) {
		// 一个默认的物品
		Item item = new Item(new FabricItemSettings());
		return registryItem(name,item,itemGroups);
	}

}
